A well-known issue in designing transceiver systems in which rapid transitions must be made between e.g. receive and transmit states or between idle and receive states, is that the local oscillators on the system can suffer a perturbation from their stable operating frequency. This can, for example, be due to a sudden change in load on the power supply. An example of such a glitch is shown in FIG. 1, related to the preamble of an IEEE 802.11 WLAN OFDM transmission. In FIG. 1, 2 denotes the short preamble symbols, 4 denotes the cyclic prefix (CP) and the long preamble symbols, 6 denotes the SIGNAL field and 8 denotes the data symbols. The VCO frequency is shown initially at one stable level; when the transmission begins, the operating conditions change and the VCO moves to a different stable operating frequency. Since the VCO operates in a feedback loop, it takes time for the frequency to converge on the new stable operating frequency.
Although it may be possible to design ones own receiver to have an extremely stable VCO, it is impossible in an open market such as that for WLAN devices to be sure that competitors' devices have equally high standard for their transmitters. To be interoperable, it is therefore necessary to be able to compensate for such deviations.
In a typical WLAN receiver, an initial coarse estimate of the frequency offset will be made during the short preamble symbols. A more precise estimate will be made during the long preamble symbols. The changing frequency of the VCO means that the frequency estimates are likely to be inaccurate; and even if a fairly accurate frequency estimate has been made by the end of the long preamble symbols, the frequency is likely to change further.
The problems caused by a residual frequency error will be explained with reference to the operation of a simplified digital OFDM receiver datapath as shown in FIG. 2.
The first operation in the datapath is to correct the frequency error, which is achieved by a progressively phase rotation of the incoming I/Q samples, which is intended to exactly cancel out the phase rotation of the incoming signal due to the frequency offset. In the absence of any other input, the frequency correction is based on the initial frequency estimate.
This operation is performed in the frequency correction block 10.
The next operation is to perform a fast Fourier transform (FFT), at the block 12, on the received data. This separates the received time-domain symbol into a number of independently modulated sub-carriers. In an 802.11a OFDM transmission, there are 52 sub-carriers, of which 48 are used to transmit data and 4 are pilot tones modulated with a known sequence.
Next, the sub-carriers extracted by the FFT 12 are demodulated, at the demodulation block 14, (converted from symbols into [soft] data bits). In order to perform the demodulation, it is necessary to have an estimate of the channel transfer function for each subcarrier, which is represented by a scaling and a rotation of the transmitted constellation. The initial channel estimate is typically obtained during the long preamble symbols.
Finally, error correction, at the error correction block 16, is applied to the received data stream. In an 802.11 OFDM transmission, a Viterbi decoder is typically used to perform the error correction function.
D denotes the data outputted from the OFDM receiver.
A residual frequency error means that the frequency correction block will not completely remove the frequency offset. The first problem that this causes is that there is a progressively increasing phase rotation of the received signal at the output of the frequency correction block. The demodulation process is based on the received signal phase as estimated during the long preamble. The progressive phase rotation caused by the frequency error means that there will be an increasing phase error with respect to the channel estimate. At a certain point, this will lead to uncorrectable demodulation errors. An example of this is shown in FIG. 3: the unrotated received I/Q vector is shown as a solid line, and is near to the correct constellation point corresponding to the transmitted data. E denotes the correct constellation point for received vector and F denotes all of the ideal constellation points according to channel estimate. As the received vector is progressively rotated away from E, it is clear to see that at some point demodulation errors occur. To keep a reasonable degree of clarity in the figure, the example shown uses 16-QAM modulation; IEEE 802.11 OFDM transmissions also use 64-QAM for higher rate transmissions. Since 64-QAM has 4 times as many constellation points it is clearly much more sensitive to phase errors.
A second problem, caused by moderate to severe frequency estimation errors, is loss of orthogonality in the FFT. In the absence of a frequency error, the subcarriers are perfectly separable from one another (the energy from one subcarrier does not interfere at all with another subcarrier). However, if the frequency offset becomes at all large, a significant amount of inter-carrier interference occurs which is visible as noise in the signal at the demodulator.
If it is possible to measure the phase and frequency errors of the signal during reception, it is conceptually possible to correct for them. The phase error of a received I/Q vector can be estimated based on knowledge of the channel estimate and the transmitted constellation point, by directly measuring the angle from the expected constellation point and the actual received vector. This estimate is perturbed by errors in the channel estimate and by noise; an improved estimate for the phase can be obtained in an OFDM symbol by measuring the phase error over a number of subcarriers, possibly also with weighting according to the strength of the subcarrier signals.
The frequency error is simply the change in the phase estimate with time, and can be estimated by dividing the phase change between two symbols with the symbol period.
As mentioned, in order to estimate the phase and frequency error, it is necessary to know the constellation point corresponding to the transmitted signal. One possible solution to this problem is to use the demodulated data to try to determine the correct constellation point, using an architecture such as that shown in FIG. 4, called data-driven phase and frequency tracking. The corresponding function blocks in FIGS. 2 and 4 have been denoted with the same reference signs and will not be explained again. In FIG. 4 there is also disclosed a frequency estimation block 18 connected to the block 12 and to the block 10. Finally, there is also a remodulation block 20 connected to the frequency estimation block 18. Demodulated data can be taken at two possible locations: for greatest robustness, it should be taken at the output of the error correction block, since this ensures the minimum number of selection errors. However, it may also be taken from before the error correction block.
This demodulated data is then re-modulated (mapped back into I/Q constellation points) for each subcarrier in the OFDM symbol, based on the channel estimate. It is then possible to use all of the subcarriers in the OFDM symbol to make an estimate of the overall phase rotation of the OFDM symbol.
Typically, this phase error is used as an input to a PID (proportional, integral, derivative) control loop, which uses the instantaneous estimates for the phase and frequency error plus an integral phase term to drive the input to the frequency correction block, thereby simultaneously tracking errors in both phase and frequency.
As was mentioned earlier, an IEEE 802.11a OFDM transmission uses only 48 of the 52 subcarriers for carrying data. The remaining 4 pilot tones are modulated with a known sequence, and these can therefore be used directly for the measurement of phase error.
An example architecture is shown in FIG. 5, called pilot-based phase and frequency tracking. The corresponding function blocks in FIGS. 2, 4 and 5 have been denoted with the same reference signs and will not be explained again. In FIG. 5 there is also disclosed a phase correction block 22 connected to the block 12 and to the block 14. Finally, there is also a pilot-based phase estimation block 24 connected to the block 10 and to the block 22. The pilot-based phase estimation block extracts the pilot subcarriers from the data stream, and uses them to calculate an estimate of the phase rotation for the current OFDM symbol. This estimate of the phase error is then used by the phase correction block, which de-rotates the received symbol prior to demodulation.
It is also necessary to correct the frequency error in order to avoid loss of FFT orthogonality. This is done by estimating the residual frequency error based on the symbol-by-symbol rate of phase change, and feeding back this estimate to the frequency correction block, which adds the residual frequency error estimate to the correction frequency.
Data-driven frequency and phase tracking has the advantage that it maximizes noise rejection by taking into account all of the available subcarriers in the signal. However, a major drawback is that, in order to obtain reliable data estimates, it is necessary to take the data from the output of the error correction block. This block has a large latency (usually several data symbols), which means that the frequency tracking loop is very slow to respond. For all but very minor residual frequency errors, the accumulated phase error will become so great that demodulation fails and the frequency tracking loop breaks down.
If the data is taken from before the error correction block, the latency can be reduced. However, in the presence of moderately sudden changes in frequency offset, the resulting phase error will cause a large number of data estimates to be incorrect. This will have the effect of reducing or even reversing the phase error estimate and will cause the frequency tracking loop to break down.
The pilot-based method is very robust, since the pilot tones are known in advance and the phase correction is applied immediately, and can therefore cope with large and rapid swings in frequency. The problem with the pilot-based solution, however, is the noise introduced by the phase estimate due to it being made over only the 4 pilot subcarriers. This noise directly modulates the received symbol, increasing the error vector magnitude and thereby the error probability.